class WxPayData {
	/**
	* 设置微信分配的公众账号ID
	* @param string value 
	**/
	constructor(values = {}) {
		this._values = values
	}

	setAppid(value) {
		this._values['appid'] = value
	}
	/**
	* 获取微信分配的公众账号ID的值
	* @return 值
	**/
	getAppid() {
		return this._values['appid']
	}
	/**
	* 判断微信分配的公众账号ID是否存在
	* @return true 或 false
	**/
	isSetAppid() {
		return this._values['appid'] != undefined
	}

	/**
	* 设置微信支付分配的商户号
	* @param string value 
	**/
	setMch_id(value) {
		this._values['mch_id'] = value
	}
	/**
	* 获取微信支付分配的商户号的值
	* @return 值
	**/
	getMch_id() {
		return this._values['mch_id']
	}
	/**
	* 判断微信支付分配的商户号是否存在
	* @return true 或 false
	**/
	isSetMch_id() {
		return this._values['mch_id'] != undefined
	}


	/**
	* 设置微信支付分配的终端设备号，商户自定义
	* @param string value 
	**/
	setDevice_info(value) {
		this._values['device_info'] = value
	}
	/**
	* 获取微信支付分配的终端设备号，商户自定义的值
	* @return 值
	**/
	getDevice_info() {
		return this._values['device_info']
	}
	/**
	* 判断微信支付分配的终端设备号，商户自定义是否存在
	* @return true 或 false
	**/
	isSetDevice_info() {
		return this._values['device_info'] != undefined
	}


	/**
	* 设置随机字符串，不长于32位。推荐随机数生成算法
	* @param string value 
	**/
	setNonce_str(value) {
		this._values['nonce_str'] = value;
	}
	/**
	* 获取随机字符串，不长于32位。推荐随机数生成算法的值
	* @return 值
	**/
	getNonce_str() {
		return this._values['nonce_str'];
	}
	/**
	* 判断随机字符串，不长于32位。推荐随机数生成算法是否存在
	* @return true 或 false
	**/
	isSetNonce_str() {
		return this._values['nonce_str'] != undefined
	}

	/**
	* 设置商品或支付单简要描述
	* @param string value 
	**/
	setBody(value) {
		this._values['body'] = value
	}
	/**
	* 获取商品或支付单简要描述的值
	* @return 值
	**/
	setBody() {
		return this._values['body']
	}
	/**
	* 判断商品或支付单简要描述是否存在
	* @return true 或 false
	**/
	isSetBody() {
		return this._values['body'] != undefined
	}


	/**
	* 设置商品名称明细列表
	* @param string value 
	**/
	setDetail(value) {
		this._values['detail'] = value
	}
	/**
	* 获取商品名称明细列表的值
	* @return 值
	**/
	getDetail() {
		return this._values['detail']
	}
	/**
	* 判断商品名称明细列表是否存在
	* @return true 或 false
	**/
	isSetDetail() {
		return this._values['detail'] != undefined
	}

	/**
	* 设置附加数据，在查询API和支付通知中原样返回，该字段主要用于商户携带订单的自定义数据
	* @param string value 
	**/
	setAttach(value) {
		this._values['attach'] = value
	}
	/**
	* 获取附加数据，在查询API和支付通知中原样返回，该字段主要用于商户携带订单的自定义数据的值
	* @return 值
	**/
	getAttach() {
		return this._values['attach']
	}
	/**
	* 判断附加数据，在查询API和支付通知中原样返回，该字段主要用于商户携带订单的自定义数据是否存在
	* @return true 或 false
	**/
	isSetAttach() {
		return this._values['attach'] != undefined
	}


	/**
	* 设置商户系统内部的订单号,32个字符内、可包含字母, 其他说明见商户订单号
	* @param string value 
	**/
	setOut_trade_no(value) {
		this._values['out_trade_no'] = value
	}
	/**
	* 获取商户系统内部的订单号,32个字符内、可包含字母, 其他说明见商户订单号的值
	* @return 值
	**/
	getOut_trade_no() {
		return this._values['out_trade_no']
	}
	/**
	* 判断商户系统内部的订单号,32个字符内、可包含字母, 其他说明见商户订单号是否存在
	* @return true 或 false
	**/
	isSetOut_trade_no() {
		return this._values['out_trade_no'] != undefined
	}


	/**
	* 设置符合ISO 4217标准的三位字母代码，默认人民币：CNY，其他值列表详见货币类型
	* @param string value 
	**/
	setFee_type(value) {
		this._values['fee_type'] = value
	}
	/**
	* 获取符合ISO 4217标准的三位字母代码，默认人民币：CNY，其他值列表详见货币类型的值
	* @return 值
	**/
	getFee_type() {
		return this._values['fee_type']
	}
	/**
	* 判断符合ISO 4217标准的三位字母代码，默认人民币：CNY，其他值列表详见货币类型是否存在
	* @return true 或 false
	**/
	isSetFee_type() {
		return this._values['fee_type'] != undefined
	}


	/**
	* 设置订单总金额，只能为整数，详见支付金额
	* @param string value 
	**/
	setTotal_fee(value) {
		this._values['total_fee'] = value
	}
	/**
	* 获取订单总金额，只能为整数，详见支付金额的值
	* @return 值
	**/
	getTotal_fee() {
		return this._values['total_fee']
	}
	/**
	* 判断订单总金额，只能为整数，详见支付金额是否存在
	* @return true 或 false
	**/
	isSetTotal_fee() {
		return this._values['total_fee'] != undefined
	}


	/**
	* 设置APP和网页支付提交用户端ip，Native支付填调用微信支付API的机器IP。
	* @param string value 
	**/
	setSpbill_create_ip(value) {
		this._values['spbill_create_ip'] = value
	}
	/**
	* 获取APP和网页支付提交用户端ip，Native支付填调用微信支付API的机器IP。的值
	* @return 值
	**/
	getSpbill_create_ip() {
		return this._values['spbill_create_ip']
	}
	/**
	* 判断APP和网页支付提交用户端ip，Native支付填调用微信支付API的机器IP。是否存在
	* @return true 或 false
	**/
	isSetSpbill_create_ip() {
		return this._values['spbill_create_ip'] != undefined
	}


	/**
	* 设置订单生成时间，格式为yyyyMMddHHmmss，如2009年12月25日9点10分10秒表示为20091225091010。其他详见时间规则
	* @param string value 
	**/
	setTime_start(value) {
		this._values['time_start'] = value
	}
	/**
	* 获取订单生成时间，格式为yyyyMMddHHmmss，如2009年12月25日9点10分10秒表示为20091225091010。其他详见时间规则的值
	* @return 值
	**/
	getTime_start() {
		return this._values['time_start']
	}
	/**
	* 判断订单生成时间，格式为yyyyMMddHHmmss，如2009年12月25日9点10分10秒表示为20091225091010。其他详见时间规则是否存在
	* @return true 或 false
	**/
	isSetTime_start(){
		return this._values['time_start'] != undefined
	}


	/**
	* 设置订单失效时间，格式为yyyyMMddHHmmss，如2009年12月27日9点10分10秒表示为20091227091010。其他详见时间规则
	* @param string value 
	**/
	setTime_expire(value) {
		this._values['time_expire'] = value
	}
	/**
	* 获取订单失效时间，格式为yyyyMMddHHmmss，如2009年12月27日9点10分10秒表示为20091227091010。其他详见时间规则的值
	* @return 值
	**/
	getTime_expire() {
		return this._values['time_expire']
	}
	/**
	* 判断订单失效时间，格式为yyyyMMddHHmmss，如2009年12月27日9点10分10秒表示为20091227091010。其他详见时间规则是否存在
	* @return true 或 false
	**/
	isSetTime_expire() {
		return this._values['time_expire'] != undefined
	}


	/**
	* 设置商品标记，代金券或立减优惠功能的参数，说明详见代金券或立减优惠
	* @param string value 
	**/
	setGoods_tag(value) {
		this._values['goods_tag'] = value
	}
	/**
	* 获取商品标记，代金券或立减优惠功能的参数，说明详见代金券或立减优惠的值
	* @return 值
	**/
	getGoods_tag()
	{
		return this._values['goods_tag']
	}
	/**
	* 判断商品标记，代金券或立减优惠功能的参数，说明详见代金券或立减优惠是否存在
	* @return true 或 false
	**/
	isSetGoods_tag() {
		return this._values['goods_tag'] != undefined
	}


	/**
	* 设置接收微信支付异步通知回调地址
	* @param string value 
	**/
	setNotify_url(value) {
		this._values['notify_url'] = value
	}
	/**
	* 获取接收微信支付异步通知回调地址的值
	* @return 值
	**/
	getNotify_url() {
		return this._values['notify_url']
	}
	/**
	* 判断接收微信支付异步通知回调地址是否存在
	* @return true 或 false
	**/
	isSetNotify_url() {
		return this._values['notify_url'] != undefined
	}


	/**
	* 设置取值如下：JSAPI，NATIVE，APP，详细说明见参数规定
	* @param string value 
	**/
	setTrade_type(value) {
		this._values['trade_type'] = value
	}
	/**
	* 获取取值如下：JSAPI，NATIVE，APP，详细说明见参数规定的值
	* @return 值
	**/
	getTrade_type() {
		return this._values['trade_type']
	}
	/**
	* 判断取值如下：JSAPI，NATIVE，APP，详细说明见参数规定是否存在
	* @return true 或 false
	**/
	isSetTrade_type() {
		return this._values['trade_type'] != undefined
	}


	/**
	* 设置trade_type=NATIVE，此参数必传。此id为二维码中包含的商品ID，商户自行定义。
	* @param string value 
	**/
	setProduct_id(value) {
		this._values['product_id'] = value
	}
	/**
	* 获取trade_type=NATIVE，此参数必传。此id为二维码中包含的商品ID，商户自行定义。的值
	* @return 值
	**/
	getProduct_id() {
		return this._values['product_id']
	}
	/**
	* 判断trade_type=NATIVE，此参数必传。此id为二维码中包含的商品ID，商户自行定义。是否存在
	* @return true 或 false
	**/
	isSetProduct_id() {
		return this._values['product_id'] != undefined
	}


	/**
	* 设置trade_type=JSAPI，此参数必传，用户在商户appid下的唯一标识。下单前需要调用【网页授权获取用户信息】接口获取到用户的Openid。 
	* @param string value 
	**/
	setOpenid(value) {
		this._values['openid'] = value
	}
	/**
	* 获取trade_type=JSAPI，此参数必传，用户在商户appid下的唯一标识。下单前需要调用【网页授权获取用户信息】接口获取到用户的Openid。 的值
	* @return 值
	**/
	getOpenid() {
		return this._values['openid']
	}
	/**
	* 判断trade_type=JSAPI，此参数必传，用户在商户appid下的唯一标识。下单前需要调用【网页授权获取用户信息】接口获取到用户的Openid。 是否存在
	* @return true 或 false
	**/
	IsSetOpenid() {
		return this._values['openid'] != undefined
	}

	getConfig() {
		return this._values
	}
}


module.exports = WxPayData